耶~終於完賽了~
終於可以結束每天都兩點以後睡的日子了~
也可以開始訂閱Apple Arcade
了~XD
其實大家都說,寫技術文章是為了自己,我也這麼認為
但這個系列賽我捫心自問,的確是很用心寫
也盡量考慮到讀者的心情
不過不管是點閱數或是互動上都很冷清
著實有點灰心呢....
不知道是不是技術深度不足;還是文筆太差
不論如何,算是對自己有個交代,也有學到東西
真是可喜可賀
之後,我還會繼續地在手機跨平台開發的路上繼續前進
下一個目標是RN、再來是Fultter....
為此,我也組了一個LINE群,希望對"跨平台"開發有興趣的小夥伴們可以一起討論(iOS跟安卓已有專群了)
或是只要您是iOS Developer對安卓有問題的,都歡迎在下面留言,我盡量回覆您(如果是專業Android開發者的問題我可能扛不住XD)
最後,
畢竟文章是寫給人看的
如果我的文章有那麼一點點幫助到您
麻煩您點個喜歡/收藏
【這邊】
或隨意留個言
對我來說都是莫大的鼓舞
謝謝
本系列文章受到陳董 - Kotlin連續三十天動手做很大的啟發,在此特別感謝
規定各種檔案存放的路徑
AS分成Log、Build、Run
斷點才會停
有分類型
v,d,i,w,e,分別對應Verbose,Debug,Info,Warn,Error開發者模式
AndroidManifest 跟 Gradle
是Android兩個很重要
的設定檔,類似xcodeproj裝套件
icon跟Target
類似ViewController
的東西沒有NavigationController
,所以要切換Activity要透過Intent
去call startActivity(類似present)iOS | Android |
---|---|
VDL | onCreate |
WillEnterForeground | onRestart |
VWA, DidBecomeActive | onStart |
VDA | onResume |
VWD, WillResignActive | onPause |
VDD, DidEnterBackground | onStop |
dealloc | onDestroy |
要不要new一個新的Activity
自動產生XML
人類看得懂
的,也可以自己寫XML,寫的時候可以即時預覽
安排subView的位置
,主要這三種:Lesson 08 - ConstraintLayout基礎
類似AutoLayout
的東西,介紹基本用法Lesson 09 - ConstraintLayout特色
Chain
: 把多個物件串起來,自動分配位置(像stackView),但好用很多gone
: 物件不顯示了,而且位置還會被其他元件替補Lesson 10 - TextView + EditText
Android | iOS |
---|---|
TextView | UILabel |
EditText | UITextField |
跑馬燈跟
UITextView自動長高
Android | iOS |
---|---|
Button | UIButton |
Dialog | UIAlertController |
很爽
Toast
,可以顯示訊息給userLesson 12 - ImageView + ImagePicker
Android | iOS |
---|---|
ImageView | UIImageView |
Bitmap | UIImage |
圖片檔名
連一個大寫都不能出現= =,不然就會build不起來scaleType
就是以前的UIContentMode
還不知道怎麼解!!!
Lesson 13 - Spinner + DatePickerDialog
Android | iOS |
---|---|
Spinner | UIPickerView |
DatePickerDialog | UIDatePicker |
Lesson 14 - SeekBar + ProgressBar
Android | iOS |
---|---|
ProgressBar | UIActivityIndicatorView |
SeekBar | UISilder |
Loading轉圈
動畫是用ProgressBarLesson 15 - Buttons = [Radio,Chip,Switch,Toggle,Material]
Android | iOS |
---|---|
RadioButton | UISegment |
Switch | UISWitch |
ToggleButton | 無 |
Chip | 無 |
MaterialButton | UIButton |
Chip
可以做到常見的tag或是Mail收件人功能ListView
,但不像TableView有回收的機制,後來就出了個RecyclerView
RecyclerView.Adapter
來處理三個必做的方法
RecyclerView.ViewHolder
負責持有畫面跟更新資料Lesson 17 - BottomNavigationView + Fragment
像TabBarController
,但是很像View上面放幾個按鈕然後把subView換掉的感覺可以加在Activity上的東西:Fragment
OkHttp
套件<uses-permission android:name="android.permission.INTERNET" />
,不然會閃退OkHttpClient, Request, Call
組成一次網路請求runOnUiThread
包起來Gson
套件@SerializedName
可以跟後端的欄位命名匹配內建
一些範本可以參考或修改<uses-permission android:name="android.permission.USE_FINGERPRINT" />
API Key
才能用getSystemService(Context.LOCATION_SERVICE)
取得locationManagerSharedPreferences
(類似UserDefault)Entity
(就是Model)、DAO
(負責新刪改查)、Database
(存資料的地方)Device File Explorer
可以導出資料庫NavigationBar的位置
NoActionBar
> findviewbyID取得layout上的ActionBar > setSupportActionBar閃退
Activity上
的一個viewFirebase Cloud Messaging
不用
取得user權限也可收推播不像iOS一定要走APNs
,他們也可以不透過FCM,像在中國Google不通,就要用其他的推播服務繼承於BroadcastReceiver
只支援
FrameLayout、LinearLayout、RelativeLayout、GridLayout只支援
AnalogClock、Button、Chronometer、ImageButton、ImageView、ProgressBar、TextView、ViewFlipper、ListView、GridView、StackView、AdapterViewFlipper(連子類也不行
)RemoteViews
類來處理Lesson 28 - 伸縮Banner + 瀑布流 + CardView
CardView
: 就是FrameLayout的一種,但是加了一些現在常用的設計,例如圓角/陰影等等StaggeredGridLayoutManager
就OK了,超簡單CoordinatorLayout
跟CollapsingToolbarLayout即可達成~不用寫code會蓋掉app_name
這個系列實作下來有幾點心得
用拉的可以產生XML很棒
貼心
小舉動的,例如變數建議、自動import、行數顯示顏色、自動生code、更強的⌘跳轉不用寫字串很棒
都不寫清楚!!!
(好像AS3.5改了?)@Override
public void onProgressChanged(SeekBar seekBar, int i, boolean b) { //i是什麼鬼?b是什麼鬼?
在括號裡面打逗號
就會跳出overloading讓你選總體下來感覺主要精神跟iOS沒有差很多,寫起來體驗也不錯(可能因為我只是學到皮毛吧)
我終於完賽了!
恭喜大大完賽,我本身是 Android 起手的,現在自學 iOS,看完大大的文章,覺得你寫的真的很不錯,希望可以出個 iOS 版,雖然板上很多了,但文筆好、容易懂,實在不多見
哇哇!謝謝您的回應
終於不是自嗨了XD
很感謝您的肯定
iOS版的話,暫時沒有計劃
如果您有什麼問題的話
也歡迎提出來,我們可以討論討論~
手機跨平台開發討論群(iOS&Android雙刀、ReactNative、Flutter)
https://line.me/R/ti/g/Cdyg5jOsQ4
感覺的到非常用心在準備
訂閱人數的話... 可能有各式各樣的原因
但是...如果內文有多一些些梗圖 或者蠢話 (遇到的蠢bug)
這樣會讓讀者再更融入 畢竟... 工程師的生活是不怎麼有趣的
恭喜完賽
謝謝祝賀與建議~
梗圖部分深有同感
下次參賽會多加一點XD